package com.ada.spark.rddfile

import org.apache.spark.{SparkConf, SparkContext}

/**
  * 如果JSON文件中每一行就是一个JSON记录，那么可以通过将JSON文件当做文本文件来读取，然后利用相关的JSON库对每一条数据进行JSON解析。
  *
  * 注意：使用RDD读取JSON文件处理很复杂，同时SparkSQL集成了很好的处理JSON文件的方式，所以应用中多是采用SparkSQL处理JSON文件。
  */
object JSONParseTest {
    def main(args: Array[String]): Unit = {
        //初始化配置信息及SparkContext
        val sparkConf: SparkConf = new SparkConf().setAppName("JSONParseTest").setMaster("local[*]")
        val sc = new SparkContext(sparkConf)

        val json = sc.textFile("hdfs://hadoop121:9000/people.json")

        import scala.util.parsing.json.JSON
        val result = json.map(JSON.parseFull)

        println(result.collect().mkString(","))
        //Some(Map(name -> Michael)),Some(Map(name -> Andy, age -> 30.0)),Some(Map(name -> Justin, age -> 19.0))
    }
}
